Skip to content

block: skip redundant flush for O_DSYNC direct writes - #1130

Closed
blktests-ci-kpd[bot] wants to merge 1 commit into
linus-master_basefrom
series/1144736=>linus-master
Closed

blktests-ci-kpd[bot] wants to merge 1 commit into
linus-master_basefrom
series/1144736=>linus-master

Conversation

@blktests-ci-kpd

Copy link
Copy Markdown

Pull request for series with
subject: block: skip redundant flush for O_DSYNC direct writes
version: 1
url: https://patchwork.kernel.org/project/linux-block/list/?series=1144736

@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: f5bbbfe
series: https://patchwork.kernel.org/project/linux-block/list/?series=1144736
version: 1

@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 3d6d817
series: https://patchwork.kernel.org/project/linux-block/list/?series=1144736
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1144736=>linus-master branch from 51f6171 to d152057 Compare August 12, 2026 19:23
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 3aa1dca
series: https://patchwork.kernel.org/project/linux-block/list/?series=1144736
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1144736=>linus-master branch from d152057 to 50b301b Compare August 13, 2026 19:26
@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the linus-master_base branch 2 times, most recently from d89ab11 to fdba928 Compare August 16, 2026 18:34
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: fd923b3
series: https://patchwork.kernel.org/project/linux-block/list/?series=1144736
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1144736=>linus-master branch from 50b301b to 1599926 Compare August 16, 2026 19:39
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 8d3ae59
series: https://patchwork.kernel.org/project/linux-block/list/?series=1144736
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1144736=>linus-master branch from 1599926 to 995b260 Compare August 17, 2026 16:25
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: bd5f485
series: https://patchwork.kernel.org/project/linux-block/list/?series=1144736
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1144736=>linus-master branch from 995b260 to 015445a Compare August 19, 2026 05:34
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 66498c7
series: https://patchwork.kernel.org/project/linux-block/list/?series=1144736
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1144736=>linus-master branch from 015445a to ae2ecec Compare August 25, 2026 03:52
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 502d457
series: https://patchwork.kernel.org/project/linux-block/list/?series=1144736
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1144736=>linus-master branch from ae2ecec to 0fea863 Compare August 26, 2026 21:12
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: cf72cbb
series: https://patchwork.kernel.org/project/linux-block/list/?series=1144736
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1144736=>linus-master branch from 0fea863 to 2f3f79a Compare August 29, 2026 07:11
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: cee9395
series: https://patchwork.kernel.org/project/linux-block/list/?series=1144736
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1144736=>linus-master branch from 2f3f79a to e05cfb9 Compare August 31, 2026 10:56
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 89a3129
series: https://patchwork.kernel.org/project/linux-block/list/?series=1144736
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1144736=>linus-master branch from e05cfb9 to 5588db0 Compare September 2, 2026 09:29
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: bc35965
series: https://patchwork.kernel.org/project/linux-block/list/?series=1144736
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1144736=>linus-master branch from 5588db0 to 57a045a Compare September 4, 2026 06:43
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: df29080
series: https://patchwork.kernel.org/series/1144736/
version: 1

Pull request is NOT updated. Failed to apply https://patchwork.kernel.org/series/1144736/
error message:

Cmd('git') failed due to: exit code(128)
  cmdline: git am --3way
  stdout: 'Patch is empty.
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To record the empty patch as an empty commit, run "git am --allow-empty".
To restore the original branch and stop patching, run "git am --abort".'

conflict:


@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 28924df
series: https://patchwork.kernel.org/series/1144736/
version: 1

@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 893e117
series: https://patchwork.kernel.org/series/1144736/
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1144736=>linus-master branch from 17e7f35 to 88ef3d8 Compare September 9, 2026 08:27
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 50d05c7
series: https://patchwork.kernel.org/series/1144736/
version: 1

For an O_DIRECT | O_DSYNC write to a block device, dio_bio_write_op()
adds REQ_FUA to the bio, so the data is durable when the direct-IO
returns.  blkdev_write_iter() then falls through to
generic_write_sync(), which for O_DSYNC turns into an additional
REQ_PREFLUSH.  That flush is redundant: the FUA write already made
the data persistent.

Skip generic_write_sync() when the direct-IO path already provided
durability via FUA.  The buffered and direct_write_fallback() paths
are unchanged.

Measured on a Seagate ST20000NM007D (20 TB, 7200 rpm, fua=1,
write_cache=write back), Linux v7.2.0-rc7, single-threaded pwrite()
loop opening the raw block device with O_WRONLY | O_DIRECT | O_DSYNC,
4 KiB writes for 60 s:

  Sequential 4 KiB writes:
                            baseline    patched
    IOPS                       119.7     7497.0
    avg latency (us)            8357        133
    p50 latency (us)            8346        127
    p99 latency (us)            8368        395
    p99.9 latency (us)          8728        569

  Random 4 KiB writes (100 GiB span):
                            baseline    patched
    IOPS                       156.1      666.4
    avg latency (us)            6405       1500
    p50 latency (us)            6186       1450
    p99 latency (us)           16133       2285
    p99.9 latency (us)         17250       9916

Signed-off-by: Zhenxian Ma <mzx199711@gmail.com>
Signed-off-by: Zhenxian Ma <mazhenxian@xiaohongshu.com>
@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1144736=>linus-master branch from 88ef3d8 to 55756ed Compare September 10, 2026 15:58
@blktests-ci-kpd

Copy link
Copy Markdown
Author

At least one diff in series https://patchwork.kernel.org/series/1144736/ irrelevant now for [{'archived': False, 'project': 241}] search patterns

@blktests-ci-kpd blktests-ci-kpd Bot closed this Sep 11, 2026
@blktests-ci-kpd
blktests-ci-kpd Bot deleted the series/1144736=>linus-master branch September 13, 2026 14:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant